package cn.darkhorse.workorder.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import io.swagger.annotations.*;
import java.util.Date;
import java.util.List;

import com.ruoyi.common.annotation.Excel;

import javax.validation.constraints.Size;


/**
 * 取送样品交接对象 qms_workorder_sample_delivery
 *
 * @author ytq
 * @date 2024-07-19
 */
@TableName("qms_workorder_record")
@Data
@ApiModel(value = "QmsWorkorderSampleDelivery", description = "取送样品交接对象")
public class QmsWorkorderSampleDelivery
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(" 主键")
    private Long id;

    /** 流转单编号 */
    @ApiModelProperty(" 流转单编号")
    @Excel(name = "流转单编号")
    private String orderNumber;

    @ApiModelProperty(" 流转工单id")
    @TableField(value = "id")
    private Long workorderId;

    /** 样品管理员签名 */
    @ApiModelProperty(" 样品管理员签名")
    @Excel(name = "样品管理员签名")
    @TableField(value = "administrator_sign_delivery")
    private String administratorSign;

    /** 信息系统管理员签名 */
    @ApiModelProperty(" 信息系统管理员签名")
    @Excel(name = "信息系统管理员签名")
    @TableField(value = "sys_admin_sign_delivery")
    private String sysAdminSign;

    /** 情况及处理意见 */
    @ApiModelProperty(" 情况及处理意见")
    @Excel(name = "情况及处理意见")
    @Size(max = 20, message ="限制1-20个字符")
    @TableField(value = "opinion_delivery")
    private String opinion;

    /** 处理时间 */
    @ApiModelProperty(" 处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "over_time_delivery")
    private Date overTime;

    /** 批号 */
    @ApiModelProperty(" 批号")
    @Excel(name = "批号")
    private String batchNumber;

    /** 袋数 */
    @ApiModelProperty(" 袋数")
    @Excel(name = "袋数")
    private Integer bagSum;

    /** 样品只数 */
    @ApiModelProperty(" 样品只数")
    @Excel(name = "样品只数")
    private Integer sampleSum;

    /** 车数 */
    @ApiModelProperty(" 车数")
    @Excel(name = "车数")
    private Integer carSum;

    /** 车号 */
    @ApiModelProperty(" 车号")
    @Excel(name = "车号")
    private String carNumber;

    /** 盒数 */
    @ApiModelProperty(" 盒数")
    @Excel(name = "盒数")
    private Integer boxSum;

    /** 盒号 */
    @ApiModelProperty(" 盒号")
    @Excel(name = "盒号")
    private String boxNumber;

    /** 交接时间 */
    @ApiModelProperty(" 交接时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "交接时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @TableField(value = "delivery_time_delivery")
    private Date deliveryTime;

    /** 创建时间 */
    @ApiModelProperty(" 创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 创建人 */
    @ApiModelProperty(" 创建人")
    private String createBy;

    /** 创建人id */
    @ApiModelProperty(" 创建人id")
    @Excel(name = "创建人id")
    private Long createById;

    @TableField(exist = false)
    private int type;


    /** 交接时抽测回潮率-测试时间 */
    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率-测试时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "交接时抽测回潮率-测试时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date deliveryTestTime;

    /** 交接时抽测回潮率-测试人员 */
//    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率-测试人员")
    @Excel(name = "交接时抽测回潮率-测试人员")
    private String deliveryTester;

    /** 交接时抽测回潮率-审核人员 */
//    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率-审核人员")
    @Excel(name = "交接时抽测回潮率-审核人员")
    private String deliveryAuditor;

    /** 交接时抽测回潮率-测试人员签名 */
//    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率-测试人员签名")
    @Excel(name = "交接时抽测回潮率-测试人员签名")
    private String deliveryTesterSign;

    /** 交接时抽测回潮率- 审核人员签名 */
//    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率- 审核人员签名")
    @Excel(name = "交接时抽测回潮率- 审核人员签名")
    private String deliveryAuditorSign;

    /** 交接时抽测回潮率- 测试记录JSON */
    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率- 测试记录JSON")
    @Excel(name = "交接时抽测回潮率- 测试记录JSON")
    private String deliveryTestRecord;

    @TableField(exist = false)
    private List<QmsWorkorderSampleBalanceRecord> deliveryTestRecords;

    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率-测试仪编号")
    @Excel(name = "交接时抽测回潮率-测试仪编号")
    private String deliveryTesterCode;

    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率- 测试仪型号")
    @Excel(name = "交接时抽测回潮率- 测试仪型号")
    private String deliveryTesterModel;

    /** 交接时抽测回潮率- 备注 */
    @TableField(exist = false)
    @ApiModelProperty(" 交接时抽测回潮率- 备注")
    @Excel(name = "交接时抽测回潮率- 备注")
    private String deliveryRemark;


    @TableField(exist = false)
    private int canEditDelivery;
    @TableField(exist = false)
    private int canAuditDelivery;

}
